package com.shenzhenai.it_hei_ma.a09threadsafe1;

/**
 * @author huangzehui
 * @date 2025/8/27 13:42 周三
 * @description
 */
public class MyThread extends Thread {

    // 标识这个类所有的对象，都共享 ticket 数据
    static int ticket = 0; // 0~99

//    // 锁对象，一定要是唯一的
//    static final Object obj = new Object();

    @Override
    public void run() {
        while (true) {
            // 同步代码块
//            synchronized (obj) {
            synchronized (MyThread.class) {
                // MyThread.class 字节码文件对象也是唯一的
                if (ticket < 100) {
                    try {
                        Thread.sleep(10);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                    ticket++;
                    System.out.println(getName() + "正在卖第" + ticket + "张票!!!");
                } else {
                    break;
                }
            }
        }
    }
}
